package cn.tedu.csmall.starter.test.config;

import cn.tedu.csmall.starter.test.bean.Bean01;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.*;

/**
 * 在spring容器里,使用
 * 注解标识当前类是配置类
 */
@Configuration
/**
 * 如果使用扫描注解,不指定扫描范围,默认扫描当前配置类的包
 * 如果想要指定,需要提供扫描包路径的string[]
 * 通过注解的属性传递
 */
@ComponentScan(basePackages = {
        "cn.tedu.csmall.starter.test.bean",
        "cn.tedu.csmall.starter.test.config.condition"})
/**
 * 通过import导入想要导入的其它配置类,同时在容器中生效
 */
@Import(value = {MyConfiguration02.class})
/**
 * 读取自定义properties或者yml文件
 */
@PropertySource(value = {"classpath:demo.properties"})
public class MyConfiguration01 {
    @Value("${tedu.class.name}")
    private String name;
    //打桩,验证是否被容器加载
    public MyConfiguration01() {
        System.out.println("配置类01被容器加载了");
    }
    @Bean(name="bean01")
    public Bean01 bean01(){
        return new Bean01();
    }
}
